热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CVPR2018|旷视科技Face++推出语义分割创新模型——判别特征网络(DFN)

全球计算机视觉顶会CVPR2018(ConferenceonComputerVisionandPatternRecognition,即IEEE国际计算机

全球计算机视觉顶会 CVPR 2018 (Conference on Computer Vision and Pattern Recognition,即IEEE国际计算机视觉与模式识别会议)将于6月18日至22日在美国盐湖城举行。作为大会钻石赞助商,旷视科技Face++研究院也将在孙剑博士的带领下重磅出席此次盛会。而在盛会召开之前,旷视将针对 CVPR 2018 收录论文集中进行系列解读。

论文名称:Learning a Discriminative Feature Network for Semantic Segmentation

论文链接:https://arxiv.org/abs/1804.09337

 

目录


  • 导语
  • 设计思想
  • 网络架构
    • Smooth Network
    • Border Network
    • 网络结构
  • 实验结果
  • 结论
  • 参考文献

导语

在大量的计算机视觉应用中,语义分割是一项不可或缺的底层技术。旷视科技Face++近期发表的一篇 CVPR 2018 收录论文《Learning a Discriminative Feature Network for Semantic Segmentation 》提出判别特征网络 DFN,有效解决了语义分割的两个基本问题,显著提高了其精度,可以帮助机器之眼更好地理解复杂的图像和场景,解析静态或动态人体及其他物体,有助于从根本上推动自动驾驶、手机影像、医疗影像、无人零售、物流安防等 AI 驱动型产业的普及与发展。


设计思想

本文提出的判别特征网络(Discriminative Feature Network/DFN)包含两个子网络 Smooth Network 和 Border Network,它有效解决了绝大多数现有语义分割方法面临的类内不一致(intra-class inconsistency)与类间无差别(inter-class indistinction)问题。

具体而言,为应对类内不一致问题,作者专门设计带有通道注意力模块(Channel Attention Block/CAB)和全局平均池化的 Smooth Network 以选择更具判别力的特征;而 Border Network 则借助多层语义边界监督区分边界两边的特征。

伴随着以全卷积网络(Fully Convolutional Network/FCN)为代表的卷积神经网络的新近发展,很多工作成效显著。但是,上述网络学习的特征经常存在判别性不强,难以区分的问题,表现为:1) 标签相同但外观不同的图像块,称之为类内不一致,如图 1 第一行所示;2) 两个相邻的图像块,标签不同但外观相似,称之为类间无差别,如图 1 第二行所示。

 

图 1:棘手的语义分割实例。第二列是 FCN 模型的输出;第三列是本文方法的输出。第一行中,图中牛的左下角被识别为马,这属于类内不一致问题。第二行中,电脑主机上的蓝光及黑色机壳与显示器相似,因此难以区分,这属于类间无差别问题。

 

为解决上述两个挑战,本文从一个更加宏观的角度重新思考语义分割,将其看作一项把一致的语义标签分配给一类物体而不是每个单一像素的任务。这就需要把每个类别的像素看作一个整体,进而同时兼顾类内一致(intra-class consistency)与类间差别(inter-class variation)。这意味任务需要判别特征,所以本文提出一个全新的判别特征网络(DFN) 以学习特征表征。

DFN 有两个组件:Smooth Network 和 Border Network。Smooth Network 用来解决类内不一致问题,从而需要学习一个鲁棒特征表征,为此本文主要考虑两个关键因素。一方面,需要多尺度和全局语境特征编码局部和全局信息。比如,由于缺乏足够的语境信息,图 1(a) 中的白色小图像块经常无法预测正确的类别;另一方面,随着引入多尺度语境,对于一定尺度的物体来说,特征具有不同程度的判别力,其中一些可能预测假标签。因此,有必要选择高效的判别特征。正是出于上述两方面的考虑,Smooth Network 展现为 U 形结构,以抓取不同尺度的语境信息,并通过全局平均池化抓取全局语境。此外,本文还提出通道注意力模块(CAB),利用高层特征逐阶段地指导低层特征的选择。

Border Network 负责区分外观相似但标签不同的相邻图像块。大多数现有方法把语义分割看作一种密集识别问题,无法明确建模类间关系。以图 1(d) 为例,如果越来越多的全局语境整合进分类过程,相邻于显示器的电脑主机由于外观相似很容易被误认是显示器。因此,明确地使用语义边界指导特征的学习非常重要,这可以增强特征两边的变化。训练时,作者把语义边界损失整合进 Border Network 以学习判别特征,增大类间差别。


网络架构

有关DFN的网络架构,首先详述它的两个组件 Smooth Network 和 Border Network;接着,具体解释两者如何实现类内一致和类间差别;最后描述 DFN 完整的编码器-解码器网络架构。

图 2:判别特征网络概览。(a)网络架构。(b)优化残差模块(Refinement Residual Block/RRB)的组件。(c)通道注意力模块(CAB)的组件。红线、蓝线分别表征上采样和下采样算子。绿线仅是信息传递路径,不改变特征图的大小。

 

Smooth Network

绝大多数现有方法无法保证正确预测每个图像块的类别,尤其当图像块属于较大区域和复杂场景之时;这种类内不一致问题的主要原因在于语境的缺失,为此作者提出带有全局平均池化的全局语境。但是,全局语境只具有高语境信息,无助于复原空间信息,作者需要多尺度感受野和语境来优化空间信息,正如大多数现有方法那样。然而,由于不同尺度的感受野其判别力也各不相同,从而造成不一致的结果,从而需要选择更具判别力的特征预测某个特定类别的统一语义标签。

具体而言,本文使用 ResNet 作为基础识别模型;根据特征图大小,该模型可划分为 5 个阶段。据观察,不同阶段识别能力各不相同,一致性表现也各不相同。在低级阶段,网络编码更精细的空间信息,但是由于缺乏空间语境指导和感受野较小,其语义一致性表现欠佳;而在高级阶段,由于感受野较大,语义一致性表现较佳,但是预测的空间信息较粗糙。总体而言,低级阶段有着更精确的空间预测,而高级阶段有着更精确的语义预测。基于这一观察,本文提出 Smooth Network 以整合两者的优势,利用高级阶段的一致性指导低级阶段获得最优的预测。

图 3:通道注意力模块图示。在(a)中,黄色模块表征低级阶段的特征,红色模块表征高级阶段的特征。作者结合相邻阶段的特征以计算权重向量,从而更新低级阶段特征图的权重。较深色模块表征高权重值。(b)是第 4 阶段通道注意力模块的真实注意力值向量。蓝色越深,表征权重值越大。

 

当下流行的语义分割架构主要有两种 style,一种是 Backbone,如 PSPNet 和 Deeplab v3;另一种是 Encoder-Decoder,比如 RefineNet 和全局卷积网络。但上述架构并不完备,为此,本文首先嵌入一个全局平均池化层把 U 形架构扩展为 V 形架构,为网络引入最强的一致性约束作为指导;此外,本文提出通道注意力模块以优化一致性,如图 2(c) 所示。该设计结合相邻阶段的特征以计算通道注意力向量(图 3(b))。高级阶段的特征给出一个强大的一致性指导,而低级阶段的特征给出特征的不同判别信息,从而通道注意力向量可以选择判别特征。

通道注意力模块:CAB 的设计目的是改变每一阶段的特征权重以优化一致性,如图 3 所示。在 FCN 架构中,卷积算子输出一个 score map,给出每一类别在每个像素上的概率。其实际意义在于暗示了不同通道的权重是平等的。然而,如上所述,不同阶段的特征判别力不同,造成预测的一致性各不相同。为实现类内一致预测,应该提取判别特征,并抑制非判别特征,从而可以逐阶段地获取判别特征以实现预测类内一致。

优化残差模块:特征网络中每一阶段的特征图全都经过 RRB,如图 2(b) 所示。该模块的第 1 个组件是 1 x 1 卷积层,作者用它把通道数量统一为 512。同时,它可以整合所有通道的信息。接着是一个基本的残差模块,它可以优化特征图。此外,受 ResNet 启发,该模块还可以强化每一阶段的识别能力。

Border Network

在语义分割任务中,预测经常混淆外观相似的不同类别,尤其当它们在空间上相近之时,因此需要加大特征的差别。出于这一考虑,本文采用语义边界指导特征学习,同时应用显式监督提取精确的语义边界,使网络学习类间差别能力强大的特征,进而提出 Border Network 加大特征的类间差别。Border Network 直接通过显式语义边界监督学习语义边界,类似于语义边界检测任务。这使得语义边界两边的特征变得可区分。

本文的工作需要语义边界具有更多的语义含义。因此 Border Network 的设计是自下而上的。它可以同时从低级阶段获取精确的边界信息和从高级阶段获取语义信息,从而消除一些缺乏语义信息的原始边界。由此,高级阶段的语义信息可以逐阶段地优化低级阶段的细节边界信息。借助传统的图像处理方法,比如 Canny,作者可以从语义分割的 groundtruth 中获得网络的监督信号。Border Network 主要关注分离边界两边的类别的语义分割。要精确地提取语义边界,需要两边的特征更加可区分,而这正是作者的目的所在。

网络结构

作者使用预训练的 ResNet 作为基础网络。Smooth Network 通过在网络顶部添加全局平均池化层以获得最强的一致性;接着利用 CAB 改变通道的权重进一步提升一致性。同时,Border Network 通过明确的语义边界监督获得精确的语义边界并使两边的特征更易区分。由此,类内特征更加一致,类间特征更易区分。

对于显式的特征优化,需要使用多层监督以获取更佳性能,同时网络也更容易训练。Smooth Network 借助 softmax loss 监督每一阶段的上采样输出(全局平均池化层除外),而本文借助 focal loss 监督 Border Network 的输出。两个子网络在一起联合训练,其 loss 通过一个参数控制两者的权重。


实验结果

本文在两个开源数据集 PASCAL VOC 2012 和 Cityscapes 上评估这一方法。数据集介绍、实现细节结果分析等从略,本文将直接给出 DFN 最终的评估结果,了解更多请参见原论文。

表 5:DFN 在 PASCAL VOC 2012 测试集上的表现。在 MS-COCO 上预训练的方法用“+”标记。

 

表 6:DFN 在 Cityscapes 测试集上的表现。“-”表明该方法未在发表的论文中展示结果。

 


结论

最后总结一下,本文的贡献主要有 4 个方面:


  • 从一个新的宏观视角重新思考语义分割,将其看作一项把一致的语义标签分配给一类物体(而不仅仅是在像素层面)的任务。
  • 提出 DFN 同时解决类内一致和类间差别问题。DFN 分别在 PASCAL VOC 2012 和 Cityscapes 数据集上取得 86.2% 和 80.3% 的当前最优 mean IOU,证实了该方法的有效性。
  • 提出 Smooth Network,通过全局语境和通道注意力模块提升类内一致性。
  • 提出一种自下而上的 Border Network,利用多层边界监督信号增大语义边界两边的特征变化,同时优化预测的语义边界。

 

参考文献

[1] L.-C. Chen, G. Papandreou, F. Schroff, and H. Adam. Rethinking atrous convolution for semantic image segmentation. arXiv, 2017.

[2] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. InIEEE Conference on Computer Vision and Pattern Recognition, 2016.

[3] J. Hu, L. Shen, and G. Sun. Squeeze-and-excitation networks. arXiv, 2017.

[4] G. Lin, A. Milan, C. Shen, and I. Reid. Refinenet: Multi-path refinement networks with identity mappings for high-resolution semantic segmentation. In IEEE Conference on Computer Vision and Pattern Recognition, 2017.

[5] W. Liu, A. Rabinovich, and A. C. Berg. Parsenet: Looking wider to see better. InInternational Conference on Learning Representations, 2016.

[6] C. Peng, X. Zhang, G. Yu, G. Luo, and J. Sun. Large kernel matters–improve semantic segmentation by global convolutional network. In IEEE Conference on Computer Vision and Pattern Recognition, 2017.

 


推荐阅读
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文探讨了MariaDB在当前数据库市场中的地位和挑战,分析其可能面临的困境,并提出了对未来发展的几点看法。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 京东AI创新之路:周伯文解析京东AI战略的独特之处
    2018年4月15日,京东在北京举办了人工智能创新峰会,会上首次公开了京东AI的整体布局和发展方向。此次峰会不仅展示了京东在AI领域的最新成果,还标志着京东AI团队的首次集体亮相。本文将深入探讨京东AI的发展策略及其与BAT等公司的不同之处。 ... [详细]
  • 《计算机视觉:算法与应用》第二版初稿上线,全面更新迎接未来
    经典计算机视觉教材《计算机视觉:算法与应用》迎来了其第二版,现已开放初稿下载。本书由Facebook研究科学家Richard Szeliski撰写,自2010年首版以来,一直是该领域的标准参考书。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
author-avatar
手机用户2502922415_737
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有